﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace Demo.ContractInheritance.ClientContractHierarchy
{
    //[ServiceContract(Name = "ICalculator", Namespace = "Justin.Wcf.Service")]
    //public interface ICalculator
    //{
    //    [OperationContract]
    //    double Add(double x, double y);

    //    [OperationContract]
    //    double Subtract(double x, double y);

    //    [OperationContract]
    //    double Multiply(double x, double y);

    //    [OperationContract]
    //    double Divide(double x, double y);
    //}

    //[ServiceContract(Name = "IPrinter", Namespace = "Justin.Wcf.Service")]
    //public interface IPrinter : ICalculator
    //{
    //    [OperationContract]
    //    String TurnOn();

    //    [OperationContract]
    //    String TurnOff();

    //    [OperationContract]
    //    String Print(String content);

    //    [OperationContract]
    //    String Scan(String content);
    //}

    //[ServiceContract(Name = "INight", Namespace = "Justin.Wcf.Service")]
    //public interface INight : IPrinter
    //{
    //    String NightTurnOn();

    //    String NightTurnOff();
    //}

    [ServiceContract(Name = "IA", Namespace = "Justin.Wcf.Service")]
    public interface IA
    {
        [OperationContract]
        String MethodA();
    }

    [ServiceContract(Name = "IB", Namespace = "Justin.Wcf.Service")]
    public interface IB : IA
    {
        [OperationContract]
        String MethodB();
    }

    [ServiceContract(Name = "IC", Namespace = "Justin.Wcf.Service")]
    public interface IC : IB
    {
        [OperationContract]
        String MethodC();
    }

}
